var _ = require("lodash");
// _.fromPairs(pairs) paris英文为一对
// 这个方法返回一个由键值对pairs构成的对象
let a = _.fromPairs([
  ["fred", 30],
  ["barney", 40],
]);
// console.log(a);

// 这个方法和原生的fromEntries方法相似
const arr = [
  ["name", "林三心"],
  ["age", 22],
  ["gender", "男"],
];
let b = Object.fromEntries(arr);
// console.log(b);

// 对应的方法 _.toPairs(object)
// 创建一个object对象自身可枚举属性的键值对数组。这个数组可以通过_.fromPairs撤回。
// 如果object 是 map 或 set，返回其条目
const obj = {
  name: "林三心",
  age: 22,
  gender: "男",
};

let c = _.toPairs(obj);
console.log(c);

// 这个方法和原生的entries几乎一样 entry的意思是条目，登记
let d = Object.entries(obj);
console.log(d);

function Foo() {
  this.a = 1;
  this.b = 2;
}

Foo.prototype.c = 3;
// 对于继承的属性是不能修改的，需要使用功能到下面的方法
let e = _.toPairs(new Foo());
console.log(e);

// 这里就需要新的方法 _.toPairsIn(object)
// 它是对上一个方法的强化
let f = _.toPairsIn(new Foo());
console.log(f);
